package cn.maihe.elg.operation.centers.guogu.dto.handler.req;

import cn.maihe.elg.operation.centers.guogu.dto.GuoGuBaseReqDTO;
import cn.maihe.elg.operation.common.annotation.NumberFmt;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * @Description 发票申请推送 请求参数
 * @Author SSX
 * @Date 2025/03/18
 */
@Data
public class GuoGuInvoiceApplyReq extends GuoGuBaseReqDTO {
    /**
     * 是	交易单号（业务流水号）信用资产SaaS平台投保编号
     */
    @NotBlank(message = "交易单号不能为空")
    @JSONField(name = "tradeNo")
    private String applyno;

    /**
     * 是	发票金额
     */
    @NotBlank(message = "保费不能为空")
    @NumberFmt(scale = 2)
    private String amount;

    /**
     * 是	发票类型 0 专票、1 非电子普通发票 2 电子普通发票
     */
    @NotBlank(message = "发票类型不能为空")
    private String invoiceType;

    /**
     * 是	投保人/企业（投标企业名称）
     */
    @NotBlank(message = "投保人/企业不能为空")
    @JSONField(name = "tenderName")
    private String biddername;

    /**
     * 是	投保人/企业统一信用代码(统一社会信用代码)
     */
    @NotBlank(message = "投保人/企业统一信用代码不能为空")
    @JSONField(name = "tenderUnifyCreditCode")
    private String biddercode;

    /**
     * 否	企业电话 专票必填
     */
    private String phone;

    /**
     * 否	银行开户行 专票必填
     */
    @JSONField(name = "basicBankName")
    private String bankName;

    /**
     * 否	银行开户卡号 专票必填
     */
    @JSONField(name = "basicBankCardNo")
    private String bankCardNum;

    /**
     * 否	邮箱 专票必填
     */
    private String email;

    /**
     * 否	邮寄联系手机号 非电子普通发票必填
     */
    private String linkerMobile;

    /**
     * 否	邮寄联系人 非电子普通发票必填
     */
    private String linkerName;

    /**
     * 否	邮寄地址 非电子普通发票必填
     */
    private String postAddress;

    /**
     * 否	企业地址  专票必填
     */
    private String address;

    /**
     * 否	保函编号
     */
    private String insureOrderNo;
}
